Skip to content

误差的度量及传播

误差的分类

  • 舍入误差:无限位数的数字只能用有限位数的数字来表示,所以会有舍入误差。

    示例:理论值为 0.3˙,计算机中只能存储有限位数,如 0.333333

  • 截断误差:使用不同方法近似计算所带来的误差。

    示例:理论值为 e,计算机中通过有限项 1+11!+12!+13! 来计算。

  • 观测误差:由于测量设备的不精确或环境因素的影响,导致测量值与真实值之间的差异。

    示例:测量一个物体的长度,结果为 10.2 米,而真实值为 10.3 米。

由于存在舍入误差,所以任何近似方法都不应该取非常小的值来近似

绝对误差、相对误差

  • 绝对误差 e:近似值与真值的差。

  • 绝对误差限 ε (|e|):绝对误差的范围(取最后一位有效数字所在位的 12

  • 相对误差 er

  • 相对误差限 εr (|er|)

如何判断一个近似数的有效数字位数?

已知真值 x=10π=31.415926,近似值 x1=31.41x2=31.42x3=31.00x4=30.00,判断各近似值的有效数字位数。

下面以 x1=31.41 为例,说明如何判断有效数字位数。

Step 1. 引入概念:量级

一个数的最高位所在位该数的量级 m
十位2
个位1
十分位0
百分位1

所以 x1量级为 2

Step 2. 用“5”不断尝试,寻找一个数字

计算出 e=xx1=0.005926

  1. 尝试 0.5

    0.0059260.5

  2. 由于 0.5>0.005826接下来再尝试 0.05

    0.0059260.05

  3. 由于 0.05>0.005826接下来再尝试 0.005

    0.0059260.005

  4. 终于 0.005<0.005826,此时停止尝试

  5. 因此寻找到的这个数字为最后一个大于 e0.05,即 0.5×101

Step 3. 求有效数字位数 n

使用公式:0.5×10mn,其中 mx 的量级,n 为要求的有效数字位数。

所以 0.5×101=0.5×10mn=0.5×102n解得有效数字位数为 n=3

以此类推

使用上述的方法,可得到 x2 的有效数字位数为 4x3 的有效数字位数为 2x4 的有效数字位数为 1

其中,x2 的有效数字位数为 4,同时 x2=31.42 本身就有 4 位数字,这时就称 x2有效数

误差传播

若有函数 y=f(x1,x2,,xn),用含有误差的近似值 x1,x2,,xn 计算出的 y,其:

  • 绝对误差

    e(y)=i=1nfie(xi)
  • 绝对误差限

    ε(y)=i=1nfiε(xi)
  • 相对误差

    er(y)=1yi=1nfixier(xi)
  • 相对误差限

    εr(y)=1yi=1nfixiεr(xi)

其中的 fi 都为关于 xi 的偏导

算法设计原则

  1. 避免相近数相减

    如果遇到应改写式子,如当 x 很大时,左式应改为右式再进行计算:

    ln(x+1)lnxlnx+1x

    特别情况

    实在不能改写的,应考虑泰勒展开等方法。

    xsinxx 充分小)。

  2. 避免用绝对值过大的数加绝对值过小的数

    由于大数位数的影响,太小的数可能无法被正确表示。

  3. 避免用绝对值过大的数除以绝对值过小的数

    结果可能溢出。